﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace banking_system
{
    static class RegexValidator
    {

        /// <summary>
        /// 只包含中文
        /// </summary>
        public static bool IsChineseOnly(string input)
        {
            return Regex.IsMatch(input, @"^[\u4e00-\u9fa5]+$");
        }

        /// <summary>
        /// 只包含英文
        /// </summary>
        public static bool IsEnglishOnly(string input)
        {
            return Regex.IsMatch(input, @"^[a-zA-Z]+$");
        }

        /// <summary>
        /// 中英文混合（不含数字和特殊字符）
        /// </summary>
        public static bool IsChineseEnglish(string input)
        {
            return Regex.IsMatch(input, @"^[\u4e00-\u9fa5a-zA-Z]+$");
        }

        // 数字校验
        public static bool IsValidNumber(string number)
        {
            string pattern = @"^[0-9]*$";
            return Regex.IsMatch(number, pattern);
        }

        // 中文校验
        public static bool IsValidChinese(string chinese)
        {
            string pattern = @"^[\u4e00-\u9fa5]{0,}$";
            return Regex.IsMatch(chinese, pattern);
        }

        /// <summary>
        /// 验证手机号
        /// </summary>
        public static bool IsPhone(string input)
            {
                return Regex.IsMatch(input, @"^1[3-9]\d{9}$");
            }

            /// <summary>
            /// 验证邮箱
            /// </summary>
            public static bool IsEmail(string input)
            {
                return Regex.IsMatch(input, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
            }

            /// <summary>
            /// 验证金额（最多2位小数）
            /// </summary>
            public static bool IsMoney(string input)
            {
                return Regex.IsMatch(input, @"^\d+(\.\d{1,2})?$");
            }

            /// <summary>
            /// 验证身份证号（简化版）
            /// </summary>
            public static bool IsIdCard(string input)
            {
                return Regex.IsMatch(input, @"^\d{17}[\dXx]$");
            }

            /// <summary>
            /// 通用验证方法
            /// </summary>
            public static bool Validate(string input, string pattern)
            {
                if (string.IsNullOrEmpty(input)) return false;
                return Regex.IsMatch(input, pattern);
            }
        

    }
}
